/**
 * 应用菜单
 */
interface MenuTypeProps {
  key?: string;
  sub?: Array<MenuTypeProps>;
  title?: string;
  isLine?: boolean;
  value?: string;
}
/**
 * 应用
 */
interface AppTypeProps {
  /** 应用组件 */
  component?: string;
  /** 禁用缩放 */
  disableResize?: boolean;
  /** 高度 */
  height?: number;
  /** 桌面隐藏图标 */
  hideInDesktop?: boolean;
  /** 图标类型，icon/iconfont */
  iconType?: string;
  /** 图标 */
  icon?: string;
  /** 图标背景颜色background-color */
  iconBgColor?: string;
  /** 图标背景颜色background-image */
  iconBgImage?: string;
  /** 图标颜色 */
  iconColor?: string;
  /** 唯一key */
  key?: string;
  /** 子菜单 */
  menu?: Array<MenuTypeProps>;
  /** 标题 */
  title?: string;
  /** 宽度 */
  width?: number;
  /** 固定底部 */
  keepInDock?: boolean;
  /** 主键ID */
  pid?: string;
  /** 关闭时隐藏 */
  hideWhenClose?: boolean;
  /** 是否隐藏 */
  hide?: boolean;
  /** 是否外链 */
  outLink?: boolean;
  /** 外链 */
  url?: string;
  /** 标题颜色 */
  titleColor?: string;
  /** 标题背景颜色 */
  titleBgColor?: string;
  /** 是否在最上层 */
  isTop?: boolean;
  /** 是否允许多开 */
  multiTask?: boolean;
  /** 图标类型，system/custom */
  type: string;
}

/**
 * 应用位置
 */
interface AppPosition {
  left: number;
  top: number;
  right: number;
  bottom: number;
}

interface LayoutSize {
  lw: 0;
  mw: 0;
}

interface OptionProps {
  [key: string]: any;
}

/**
 * 字体
 */
interface FontProps {
  label: string;
  name: string;
}

/**
 * 桌面图标浮动
 */
interface FloatProps extends FontProps {
  icon: string;
}

/**
 * 背景
 */
interface BackgroundProps extends FontProps {
  large: string;
  src: string;
}
interface ColorProps extends FontProps {
  color: string;
}

export type {
  AppPosition,
  AppTypeProps,
  BackgroundProps,
  ColorProps,
  FloatProps,
  FontProps,
  LayoutSize,
  MenuTypeProps,
  OptionProps,
};
